﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <string>
using namespace std;

//class A
//{
//public:
//	virtual void f() {}
//
//	int _a = 0;
//};
//
//class B : public A
//{
//public:
//	int _b = 1;
//};
//
//void fun(A* pa)
//{
//	// pa指向子类对象，转回子类，是安全的
//	// pa指向父类对象，转回子类，是不安全的，存在越界的风险问题
//
//	//若pa指向子类对象，转回子类，正常转换
//	//若pa指向父类对象，转回子类，转换失败
//	B* pb = dynamic_cast<B*>(pa);
//	if (pb)
//	{
//		cout << pb << endl;
//		cout << pb->_a << endl;
//		cout << pb->_b << endl;
//	}
//	else
//	{
//		cout << "转换失败" << endl;
//	}
//}
//
//int main()
//{
//	A a;
//	B b;
//	A* pa = &a;
//	B* pb = &b;
//	//向上转型（子类指针赋值给父类指针）
//	A* ppa = dynamic_cast<A*>(pb);
//	if (ppa)
//	{
//		cout << "转换成功" << endl;
//	}
//	else
//	{
//		cout << "转换失败" << endl;
//	}
//	//向下转型（父类指针赋值给子类指针），ppb访问_b时出现越界访问，pa指向的空间中没有_b那块空间
//	B* ppb = dynamic_cast<B*>(pa);	
//	if (ppb)
//	{
//		cout << "转换成功" << endl;
//	}
//	else
//	{
//		cout << "转换失败" << endl;
//	}
//	
//	fun(&a);
//	fun(&b);
//	return 0;
//}


/////////////////////////////////////////////////////////////////////////////////////////////
//#include <stdio.h>
//int main()
//{
//	//char a, b;
//	//scanf("%c", &a);
//	//printf("a=%c\n", a);
//	//fflush(stdin); // 清理输入缓冲区
//	//scanf("%c", &b);
//	//printf("b=%c", b);
//
//	//char password[20] = { 0 };
//	//printf("请输入密码: ");
//	//scanf("%s", password);
//	//
//	//printf("请确认密码(Y/N): ");
//	//
//	//char input = 0;
//	//fflush(stdin);
//	////getchar();
//	//scanf("%c", &input);
//	//if (input == 'Y')
//	//	printf("确认成功\n");
//	//else
//	//	printf("确认失败\n");
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	char x = 0, y = 0;
//	scanf("%c", &x);
//	printf("x = %c\n", x);
//	//getchar();  //将缓冲区中的'\n'拿出，即清理缓冲区
//	scanf("%c", &y);
//	if (y == '\n')
//		printf("y == \\n\n");
//	else 
//		printf("y = %c\n", y);	
//	return 0;
//}

int main()
{
	cout << "11111" << endl;
	cerr << "11111" << endl;
	clog << "11111" << endl;

	string str;

	while (cin >> str) //Ctrl+c是发出结束进程信号，直接暴力杀死进程。
	//Ctrl + z
	//这里string对应的流提取是: while (operator>>(cin, str)),内部重载了>>
	{
		cout << str << endl;
	}

	return 0;
}